package com.quad.innovators.salesease.service.base;

import com.baomidou.mybatisplus.extension.service.IService;
import com.quad.innovators.salesease.common.result.PageResultBean;
import com.quad.innovators.salesease.model.common.Option;
import com.quad.innovators.salesease.model.entity.base.Warehouse;
import com.quad.innovators.salesease.model.form.base.WarehouseForm;
import com.quad.innovators.salesease.model.query.base.WarehousePageQuery;
import com.quad.innovators.salesease.model.vo.base.WarehouseVO;

import java.util.List;

public interface WarehouseService extends IService<Warehouse> {

    /**
     * 分页查询
     * @param queryParams 参数
     * @return 结果
     */
    PageResultBean<WarehouseVO> listPaged(WarehousePageQuery queryParams);


    /**
     * 保存
     * @param form 数据
     * @return 结果
     */
    boolean save(WarehouseForm form);


    /**
     * 获取详情
     * @param code 编码
     * @return 结果
     */
    WarehouseForm getFormData(String code);


    /**
     * 更新
     * @param code 编码
     * @param form 信息
     * @return 结果
     */
    boolean update(String code, WarehouseForm form);

    /**
     * 更新状态
     * @param code 编码
     * @param status 状态
     * @return 结果
     */
    boolean updateStatus(String code, Integer status);

    /**
     * 仓库下拉列表
     * @return 返回仓库下拉列表
     */
    List<Option<String>> listOptions();
}
